iT邦幫忙

2021 iThome 鐵人賽

DAY 29
0
Software Development

用 PHP 打造專屬於自己的 Telegram 聊天機器人吧!系列 第 29

【PHP Telegram Bot】Day29 - 社群按讚機器人(1):讓頻道出現按讚按鈕

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20211008/20132916KKAHGMopdI.png

今天來做這個很實用的東東,很多頻道都有這個功能

將機器人加入頻道

機器人要加入頻道的話只能加成管理員,所以就按「設成管理員」
https://ithelp.ithome.com.tw/upload/images/20211008/20132916Fkpz7i5rev.png
權限只需要第三個「編輯他人訊息」就足夠了
https://ithelp.ithome.com.tw/upload/images/20211008/2013291676wP7V5bqA.png
加入後在頻道裡發一則訊息
https://ithelp.ithome.com.tw/upload/images/20211008/201329162vJh2r1qhH.png
我們來看看機器人收到了什麼
https://ithelp.ithome.com.tw/upload/images/20211008/20132916mCsMRpMMWl.png
看來是一個叫做 channel_post 的東西


把訊息加上按鈕

又又到了熟悉的地方,這次是要處理 channel_post,新增一個 elseifprocessChannelPost() 函式
https://ithelp.ithome.com.tw/upload/images/20211008/20132916p35s5BVJ1z.png
然後要用到一個叫做 editMessageReplyMarkup 的 API 方法,這個可以修改訊息的按鈕,當然也可以將訊息加上按鈕
https://ithelp.ithome.com.tw/upload/images/20211008/20132916jKyaE2tiZ4.png
按鈕就用表情符號,callback_data 應該也可以,不過我還是用英文這樣比較穩
https://ithelp.ithome.com.tw/upload/images/20211008/201329161uAVwfKb1Y.png
最後執行程式,再發一則訊息就會有按鈕啦
https://ithelp.ithome.com.tw/upload/images/20211008/20132916DfYGGUlZbT.png
但是現在按按鈕不會有任何反應,今天就先到這裡,明天會把按鈕的功能做出來


預告

因為接下來的東西會有點神奇(?(昨天的雜湊值也是挺神奇的),而且今天比較忙,原本是打算一天拚完啦,但是拚完之後就只剩下更複雜題目了,所以就想說明天再講按鈕的功能

明天要來利用陣列的特性讓每個人只能按其中一個選項


上一篇
【PHP Telegram Bot】Day28 - 防雷機器人(2):儲存與查看原始訊息
下一篇
【PHP Telegram Bot】Day30 - 社群按讚機器人(2):將按鈕設成單選並且計數
系列文
用 PHP 打造專屬於自己的 Telegram 聊天機器人吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言